Mem0 堆 Qdrant,Letta 跑 Neo4j,Engram 选了第三条路
极客工具 极客工具 XTool 2026年6月24日 07:51
副标题:一个 12MB 的 Go 单二进制,让 AI 编码 Agent 跨 session 记住一切
市面上至少有 3 个叫 "Engram" 的项目。先说清楚:本文主角是 Gentleman-Programming/engram (GitHub 上 4,600 stars 的 Go 二进制),不是 tstockham96 的 Engram Cloud + SDK(那个 LOCOMO 80% 的成绩单),也不是 invisiblemonsters 的 Engram Cognitive Memory(Python 认知记忆框架)。
别搞混。
问题:为什么你的 AI 编码 Agent 每次 session 都从零开始
让 Claude Code 修同一个 bug 第三次,它又开始解释项目背景、翻文档、问你这是什么框架。不是它记不住,是它根本没机会记住。
根因有两层: context window 和 session boundary 。一个对话开到 30,000 token,旧记忆被挤出去了;一个 session 结束,所有状态清零,下次从空白开始。
现有方案都不够好:手写 MEMORY.md 是纯手工劳动, claude-mem 绑死了 Claude Code, claude --resume 只能续接单次会话。你需要的是一个通用的、跨 Agent、跨 session 的持久记忆层。
Engram 是什么:一个 12MB 的 Go 二进制
Engram 是 AI 编码 Agent 的持久化记忆系统,单一 Go 二进制,零外部依赖。安装就是一行 brew install ,不用 Docker、不用 PostgreSQL、不用 Qdrant。
架构只有三层:Agent → MCP stdio → engram → SQLite + FTS5。Agent 通过 MCP 协议(stdio 进程通信)调用 mem_save 、 mem_search 、 mem_update 等 20 个工具,Engram 负责把记忆写到本地 SQLite,用 FTS5 做全文检索。
"单二进制 / 零依赖" 的工程意义不只是好部署。Go 编译后所有依赖静态链接,12MB 大小包了整个 CLI、HTTP API、MCP Server、TUI 四种交互面。所有改动共享同一份 SQLite 状态,没有数据漂移风险。
四种交互面,一个 engram
同一个二进制提供了四个入口:
- • CLI :给脚本用,
engram mcp启动 MCP 服务,engram setup claude-code一键配置 - • HTTP API :给服务用,
engram serve开一个本地 HTTP 服务(默认:7437),可以嵌入到其他系统 - • MCP Server :给 Agent 用,20 个工具通过 stdio 暴露给所有 MCP 兼容的 Agent(Claude Code、OpenCode、Gemini CLI、Cursor、Windsurf 都行)
- • TUI :给人用,vim 风格导航,Catppuccin Mocha 主题,
engram tui直接翻阅记忆
核心机制:Local-First + Git Sync + LLM-as-Judge
Engram 的核心是 Local-First + Git Sync + LLM-as-Judge 。
存储层用的是 SQLite + FTS5(Full-Text Search 5),不是向量数据库。FTS5 做关键词匹配 + BM25 排序,查询速度 ~3ms。为什么不上向量?Issue #168 里有人提了 hybrid search(FTS5 + Vector + RRF),维护者说"先把现有打磨好"。工程取舍:SQLite 零运维成本,Qdrant 要跑 Docker、要调资源、要监控。
Git Sync 是另一个亮点:记忆可以像代码一样管理。 engram sync 把 SQLite 压缩成分块推到 Git,跨机器共享记忆,还能版本控制。你不是在部署一个服务,是在管理一个 git repo。
v1.17.0(2026-06-20)加了"冲突感知":FTS5 先找到候选冲突对,然后调用你已有的 Claude Code / OpenCode 当 LLM judge 做语义判断。成本? $0 。用的是你自己订阅的 Pro/Max,不需要为 Engram 再买一个 API key。通过 ENGRAM_AGENT_CLI=claude 或 opencode 环境变量指定。
对比:Mem0 / Letta / Zep / claude-mem,谁的方案更香
Engram 不是唯一一个做 Agent 记忆的项目。Mem0 58k stars,Letta 23.5k stars,Zep 4.7k stars,claude-mem 83k stars。但它们走的路不一样。
| 维度 | Engram | Mem0 | Letta | Zep | claude-mem |
|---|---|---|---|---|---|
| 语言 | Go(单二进制) | Python + TypeScript | Python | Python | TypeScript |
| 存储 | SQLite + FTS5 | Qdrant + PG | PostgreSQL | Neo4j + PG | SQLite |
| MCP 支持 | 原生 MCP stdio | 社区 wrapper | 无 | 无 | 插件方式 |
| 部署复杂度 | 零依赖 | 需 Qdrant/Docker | 需 PostgreSQL | 需 Neo4j | Node.js 插件 |
| 云 | Engram Cloud(可选) | app.mem0.ai 托管 | Letta Cloud | Zep Cloud | 无 |
| Token 效率 | 776 tokens/query | ~2,000+ tokens/query | 可变 | 高(图遍历) | 中 |
真实使用反馈更说明问题。用户 todie 在 Gist 里实测:MCP 读 200ms,HTTP 读 3ms, 60x 差异 。建议是读操作用 Bash + curl,写操作走 MCP。
设计哲学分歧很明显:Mem0/Letta/Zep 走"重量级 + 云原生",堆基础设施,目标是企业级多租户、知识图谱、时序实体关系;Engram 走"轻量级 + 本地优先",目标是编码 Agent 跨 session 记忆,零依赖,本地 SQLite 永远权威,云端只是可选复制。
Roadmap & 设计取舍:Engram 不会变成 Zep
Issue #168 有人提了五大能力提案:Hybrid Search(FTS5 + Vector)、Salience Scoring(访问加权 + 时间衰减)、Automatic Consolidation(语义合并 + lineage)、Temporal Knowledge Graph(observation_links 表)、Contextual Priming( mem_prime 工具)。
结果是: 全部 closed as not planned 。
维护者的立场很明确:保持极简。Engram 不会变成 Zep,不会堆知识图谱,不会上复杂的实体关系模型。生态协同是另一个方向:Gentleman Programming 还在做 gentle-ai(把 Engram + SDD + Skills 打包成一个工作流)、SDD(Spec-Driven Development),目标是让编码 Agent 不只是有记忆,还能主动规划、验证、迭代。
谁应该用 Engram
Engram 适合这些人:
- • ✅ 需要 AI 编码 Agent 跨 session 记忆
- • ✅ 本地优先,不想为云端记忆层付费
- • ✅ 零依赖,不想维护 Docker / PostgreSQL / Qdrant
- • ✅ 用 Claude Code / OpenCode / Cursor / Windsurf / VS Code Copilot
Engram 不适合这些人:
- • ❌ 需要知识图谱、时序实体关系
- • ❌ 企业级多租户、权限隔离
- • ❌ 需要云端托管、SaaS 服务
5 分钟上手
三步走:
# 1. 安装
brew install gentleman-programming/tap/engram
# 2. 配置 Agent
engram setup claude-code
# 3. 使用
engram tui
第一条记忆:在 Claude Code 里问 Agent "这个项目用了什么框架",它会自动调用 mem_save 保存到 Engram。下次再问,它直接调 mem_search 翻出来,不再从零开始。
数据来源
- • Engram GitHub [1] · 4,600 stars / 525 forks / v1.17.0 / 93 个 release
- • Hacker News Show HN [2]
- • todie/engram-guide 实测 Gist [3]
- • Reddit r/ClaudeAI 讨论 [4]
- • mcp.directory 对比 [5]
引用链接
[1] Engram GitHub: https://github.com/Gentleman-Programming/engram
[2] Hacker News Show HN: https://news.ycombinator.com/item?id=47116615
[3] todie/engram-guide 实测 Gist: https://gist.github.com/todie/7043a87d3a0f544c519bb540efbe5959
[4] Reddit r/ClaudeAI 讨论: https://www.reddit.com/r/ClaudeAI/comments/1sf3zae/claude_engram_persistent_memory_for_claude_code/
[5] mcp.directory 对比: https://mcp.directory/blog/mem0-vs-letta-vs-zep-vs-cognee-2026
前沿工具 · 目录